package com.example.entity;


import com.example.calculation.SkillEffect;
import com.example.utils.JSON;

import java.io.Serializable;
import java.util.List;


/**
 * 厨师
 */


public class Chef implements Serializable, Cloneable{

    //男厨师的标签
  public   final static  int SEX_MAN=1;

  //女厨师的标签
    public   final static  int SEX_WOMAN=2;



    //索引id
    public int index;
    //id
    public int chefId;
    //游戏中图鉴编号
    public String galleryId;
    //名字
    public String name;
    //来源
    public String origin;
    //星级
    public int rarity;

    /**
     * 技法
     */
    //厨师的烤技法
    public int bake;
    //煮技法
    public int boil;
    //炒技法
    public int stirfry;
    //切技法
    public int knife;
    //炸技法
    public int fry;
    //蒸技法
    public int steam;
    /**
     * 采集
     */
    //面
    public int creation;
    //鱼
    public int fish;
    //肉
    public int meat;
    //蔬菜
    public int veg;

    //技能id
    public Integer skill;
    //修炼任务
    public List<String> ultimateGoal;
    //修炼后技能id
    public Integer ultimateSkill;

    //代表男或女   （1 男） （2 女）
    public List<Integer> tags;

    //厨师所带厨具id
    public Equip equip;

    //2阶技能和修炼技能的合并
    public SkillEffect skillEffect;


    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }

    public SkillEffect getSkillEffect() {
        return skillEffect;
    }

    public void setSkillEffect(SkillEffect skillEffect) {
        this.skillEffect = skillEffect;
    }

    public Equip getEquip() {
        return equip;
    }

    public void setEquip(Equip equip) {
        this.equip = equip;
    }

    public int getChefId() {
        return chefId;
    }

    public void setChefId(int chefId) {
        this.chefId = chefId;
    }

    public String getGalleryId() {
        return galleryId;
    }

    public void setGalleryId(String galleryId) {
        this.galleryId = galleryId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getOrigin() {
        return origin;
    }

    public void setOrigin(String origin) {
        this.origin = origin;
    }

    public int getRarity() {
        return rarity;
    }

    public void setRarity(int rarity) {
        this.rarity = rarity;
    }

    public int getBake() {
        return bake;
    }

    public void setBake(int bake) {
        this.bake = bake;
    }

    public int getBoil() {
        return boil;
    }

    public void setBoil(int boil) {
        this.boil = boil;
    }

    public int getStirfry() {
        return stirfry;
    }

    public void setStirfry(int stirfry) {
        this.stirfry = stirfry;
    }

    public int getKnife() {
        return knife;
    }

    public void setKnife(int knife) {
        this.knife = knife;
    }

    public int getFry() {
        return fry;
    }

    public void setFry(int fry) {
        this.fry = fry;
    }

    public int getSteam() {
        return steam;
    }

    public void setSteam(int steam) {
        this.steam = steam;
    }

    public int getCreation() {
        return creation;
    }

    public void setCreation(int creation) {
        this.creation = creation;
    }

    public int getFish() {
        return fish;
    }

    public void setFish(int fish) {
        this.fish = fish;
    }

    public int getMeat() {
        return meat;
    }

    public void setMeat(int meat) {
        this.meat = meat;
    }

    public int getVeg() {
        return veg;
    }

    public void setVeg(int veg) {
        this.veg = veg;
    }

    public int getSkill() {
        return skill;
    }

    public void setSkill(int skill) {
        this.skill = skill;
    }

    public List getUltimateGoal() {
        return ultimateGoal;
    }


    public void setSkill(Integer skill) {
        this.skill = skill;
    }

    public void setUltimateGoal(List<String> ultimateGoal) {
        this.ultimateGoal = ultimateGoal;
    }

    public Integer getUltimateSkill() {
        return ultimateSkill;
    }

    public void setUltimateSkill(Integer ultimateSkill) {
        this.ultimateSkill = ultimateSkill;
    }

    public List<Integer> getTags() {
        return tags;
    }

    public void setTags(List<Integer> tags) {
        this.tags = tags;
    }

    @Override
    public Chef clone() {
        Chef chef1 = null;
        try {
            chef1 = (Chef) super.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return chef1;
    }

    @Override
    public String toString() {
                try {
            return JSON.getObjectMapper().writeValueAsString(this);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }
}
